There are many aspects to web application development, each of which is a potential point of failure for the web application, including:                user interface (UI);        user experience (UX);        interactions between the client and remote services of the web application; and        functionality of the remote services.        
Generally, interactions between a client and a remote service are accomplished via an API that the remote service exposes to allow communication regarding service requests. Testing the functionality of all aspects of a web application is vital to ensuring that the web application operates according to specification.
To test UI/UX aspects of a given web application, web application developers can use focus groups and feedback surveys. Furthermore, to test that the work flow of a web application is to specification as set forth by application development stakeholders, developers can use automated UI/UX testing applications. However, automated UI/UX testing applications do not generally test interactions between a client and a remote service of a web application, or the functionality of a remote service.
Given that user-facing clients (e.g., those run via a browser) are considered highly hostile, testing the interactions between a client and a remote service, and also testing remote service functionality, is very important for the health of a web application. However, such testing, referred to herein as API testing, can also be complex depending on functionality of the remote service. For example, when authentication is required as part of API testing, details of how to initialize and maintain authentication credentials must be maintained and properly utilized during the API testing.
Web developers generally perform API testing by utilizing a non-browser based automation framework suite, or by using JAVA, or JavaScript toolchains outside the context of any browser automation or other UI/UX testing framework. Such API test suites are generally distinct from UI/UX testing applications, and when being used to test a web application, must be set up and run separately from any automated UI/UX testing applications being used to test the web application, which increases the workload of web application developers during the testing phase.
Also, because API test suites are set up outside of the context of a browser, testing a browser-based web application requires that the API test suite be specifically configured to simulate the context (e.g., libraries, authentication context, etc.) that would be available when the web application is run in a browser. Such simulated contexts can contain specially-crafted code paths configured to test a given web application, which are subject to error since the application developers may simplify certain issues that would arise when the web application is run from within a generally-available browser, resulting in buggy web application releases. Because different browsers function differently, API testing outside of the context of generally-available browsers does not uncover browser-specific issues in the web application.
As such, it would be beneficial to simplify and improve web application testing so that the same testing framework accomplishes both API testing and UI/UX testing of a given web application.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.